package com.jdk.learn;

import java.util.HashMap;
import java.util.Set;

/**
 * Created by baiguantao on 2017/11/17.
 */
public class HashMapDemo {

    public static void main(String[] args) {
        //hashmap的key可以重复吗
        //值会覆盖吗？
        HashMap<String,Object> hashMap = new HashMap<String,Object>();
        Object firstres=hashMap.put("1","1");
        System.out.println("第一次插入后put返回的结果是:"+firstres);
        Object result=hashMap.put("1","2");
        System.out.println("重复插入后put返回的结果是:"+result);
        System.out.println("重复插入后get的结果是:"+hashMap.get("1"));
        Set<String> sets= hashMap.keySet();
        System.out.println("重复插入后的key长度:"+sets.size());// 结果1  不能重复


        // key可以为null吗？

        hashMap.put(null,"我是null值");
        Set<String> sets2= hashMap.keySet();
        System.out.println("null插入后的长度:"+sets2.size());// 结果2   null可以插入
        System.out.println("获取null的结果:"+hashMap.get(null));

        //扩容阈值是0.75
        // static final float DEFAULT_LOAD_FACTOR = 0.75f;
        //扩容倍值是2   2*16(1 << 4)开始  依次*2  最高(1 << 30)
        //        if (++size > threshold)
        //            resize();
    }

}
